From 90de630f21ac744a37b3adac1bd84654471744ff Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 24 Aug 2017 22:30:01 -0700
Subject: [PATCH 1/2] build: fix parallel make

Imported from Gentoo

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 Makefile         | 15 +++++++++++++--
 wvrules-posix.mk |  7 +++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 72c8bef..5a4cfb2 100644
--- a/Makefile
+++ b/Makefile
@@ -131,12 +131,19 @@ utils/tests/%: PRELIBS+=$(LIBWVSTREAMS)
 # libwvstreams: stream/event handling library
 #
 TARGETS += libwvstreams.so
-TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest
+TARGETS += crypto/tests/ssltest                                                                                                                             
+crypto/tests/ssltest: $(LIBWVSTREAMS)                                                                                                                       
+
+TARGETS += ipstreams/tests/unixtest
+ipstreams/tests/unixtest: $(LIBWVSTREAMS)
+
 TARGETS += crypto/tests/printcert
+crypto/tests/printcert: $(LIBWVSTREAMS)
 
 ifndef _MACOS
   ifneq ("$(with_readline)", "no")
     TARGETS += ipstreams/tests/wsd
+    ipstreams/tests/wsd: $(LIBWVSTREAMS)
     ipstreams/tests/wsd-LIBS += -lreadline
   else
     TEST_SKIP_OBJS += ipstreams/tests/wsd
@@ -179,7 +186,11 @@ uniconf/tests/%: PRELIBS+=$(LIBUNICONF)
 #
 ifneq ("$(with_dbus)", "no")
   TARGETS += libwvdbus.so
-  TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd
+  TARGETS += dbus/tests/wvdbus
+  dbus/tests/wvdbus: $(LIBWVDBUS)
+
+  TARGETS += dbus/tests/wvdbusd
+  dbus/tests/wvdbusd: $(LIBWVDBUS)
   TESTS += $(call tests_cc,dbus/tests)
   libwvdbus_OBJS += $(call objects,dbus)
   libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS)
diff --git a/wvrules-posix.mk b/wvrules-posix.mk
index f94d2cd..2e99f36 100644
--- a/wvrules-posix.mk
+++ b/wvrules-posix.mk
@@ -80,12 +80,15 @@ define wvlink_ar
 	$(AR) s $1
 endef
 
-CC: FORCE
+CC:
 	@CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
 	  $(WVSTREAMS)/gen-cc CC c
 
-CXX: FORCE
+CXX:
 	@CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
 	  $(WVSTREAMS)/gen-cc CXX cc
 
+#All files must depend on the above two rules. This is a godawful hack.
+$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX
+
 wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS)
-- 
2.14.1

